package com.atguigu.spring.aop.calculator.Impl;

import com.atguigu.spring.aop.calculator.MathCalculator;
import lombok.ToString;
import org.springframework.stereotype.Component;

/**
 * 日志：
 * 1.硬编码
 * 2.静态代理
 *      定义：定义一个代理对象，包装这个组件。以后业务的执行，从代理开始，不直接调用组件
 *      特点：定义期间就指定好了互相代理关系
 *      优点：同一种类型的所有对象都能代理
 *      缺点：只能代理同一种类型的对象
 */
@Component
@ToString
public class MathCalculatorImpl implements MathCalculator {
    @Override
    public int add(int a, int b) {
        return a + b;
    }

    @Override
    public int subtract(int a, int b) {
        return a - b;
    }

    @Override
    public int multiply(int a, int b) {
        return a * b;
    }

    @Override
    public int divide(int a, int b) {
        return a / b;
    }
}
